From 0a211b4b0288466240516b825f7bb121e65f2fa4 Mon Sep 17 00:00:00 2001 From: Michael Albinus Date: Sun, 2 Aug 2009 17:20:39 +0000 Subject: [PATCH] * autorevert.el (auto-revert-handler): Allow `auto-revert-tail-mode' for remote files. --- lisp/autorevert.el | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/lisp/autorevert.el b/lisp/autorevert.el index ab133af00f1..81d9fbf55c0 100644 --- a/lisp/autorevert.el +++ b/lisp/autorevert.el @@ -66,6 +66,7 @@ ;; change by growing at the end. It only appends the new output, ;; instead of reverting the entire buffer. It does so even if the ;; buffer contains unsaved changes. (Because they will not be lost.) +;; Auto Revert Tail Mode works also for remote files. ;; Usage: ;; @@ -432,13 +433,18 @@ This is an internal function used by Auto-Revert Mode." (let* ((buffer (current-buffer)) size (revert (or (and buffer-file-name - (not (file-remote-p buffer-file-name)) (file-readable-p buffer-file-name) (if auto-revert-tail-mode - (/= auto-revert-tail-pos - (setq size - (nth 7 (file-attributes buffer-file-name)))) - (not (verify-visited-file-modtime buffer)))) + ;; Tramp caches the file attributes. Setting + ;; `tramp-cache-inhibit' forces Tramp to + ;; reread the values. + (let ((tramp-cache-inhibit-cache t)) + (/= auto-revert-tail-pos + (setq size + (nth 7 (file-attributes + buffer-file-name))))) + (and (not (file-remote-p buffer-file-name)) + (not (verify-visited-file-modtime buffer))))) (and (or auto-revert-mode global-auto-revert-non-file-buffers) revert-buffer-function @@ -477,7 +483,7 @@ This is an internal function used by Auto-Revert Mode." (when (or revert auto-revert-check-vc-info) (vc-find-file-hook))))) -(defun auto-revert-tail-handler (size) +(defun auto-revert-tail-handler (size) (let ((modified (buffer-modified-p)) (inhibit-read-only t) ; Ignore. (file buffer-file-name) -- 2.30.2